﻿using TulingMember.Core;

namespace TuLing.Blazor.Services
{
    public class BuyOrderDetailService
    {
        private readonly DefaultDbContext _context;
        public BuyOrderDetailService(DefaultDbContext context)
        {
            _context = context;
        }
        public List<BuyOrderDetail> Search(long orderId)
        {
            return _context.BuyOrderDetails.Where(d => d.BuyOrderId == orderId).ToList();
        }
        public BuyOrderDetail? Get(long id)
        {
            return _context.BuyOrderDetails.FirstOrDefault(d => d.Id == id);
        }
        public BuyOrderDetail? Save(BuyOrderDetail input)
        {
            if (input.Id == 0)
            {
                _context.BuyOrderDetails.Add(input);
            }
            else
            {
                _context.BuyOrderDetails.Update(input);
            }
            _context.SaveChanges();
            return input;
        }
        public void Delete(long id)
        {
            var detail = _context.BuyOrderDetails.FirstOrDefault(d => d.Id == id);
            if (detail == null)
            {
                throw new Exception("明细不存在");
            }
            _context.BuyOrderDetails.Remove(detail);
            _context.SaveChanges();
        }
    }
}
